home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
MacWorld 1999 January - Disc 2
/
Macworld (1999-01) (Disk 2).dmg
/
Serious Demos
/
Symbolic Composer 4.2
/
Environment
/
System
/
CADAR
/
Symbols
/
Ornamentation
/
multi-rnd-ornament
< prev
next >
Wrap
Text File
|
1998-10-22
|
3KB
|
77 lines
multi-rnd-ornament
min max length-list melody
&key (r-type 'all) (type 'norm)
(seed nil) (pcnt 100) (step-type 'norm)
(rnd-type 'norm) (step '(1)) (to-pcnt nil)
legal r-types 'all 'evens 'odds
legal rnd-types 'gauss 'norm
legal types 'norm 'rnd
legal step-types 'norm 'change
this function has similarities with rhythm-ornament
but lets you simultaneously
ornament both lengths and symbols.
length of ornament will be inside min and max.
it is a combination of multi-ornament and rhythm-ornament
which you can read more about to understand this function.
to get only the melodic result use cadr and to get only
rhythmic result use car
(multi-rnd-ornament 3 5
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1)
->(((a -b a) (b a b) (c b) (d c) (e d e d)) ((1/5 1/5 1/10) (1/8 1/16 1/16) (3/10 1/5) (3/32 1/32) (1/32 1/32 1/32 1/32)))
(multi-rnd-ornament 3 5
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
:r-type 'odds)
->(((a -b a) (b a b) (c b) (d c) (e d e d)) ((1/5 1/5 1/10) (1/10 1/20 1/10) (3/10 1/5) (1/10 1/40) (1/20 1/40 1/40 1/40)))
(multi-rnd-ornament 3 5
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
:r-type 'evens)
->(((a -b a) (b a b) (c b) (d c) (e d e d)) ((1/8 1/4 1/8) (1/8 1/16 1/16) (1/4 1/4) (3/32 1/32) (1/32 1/32 1/32 1/32)))
(multi-rnd-ornament 3 5
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
:r-type 'all :pcnt 50 :rnd-type 'norm)
->(((a -b a) (b a b) (c) (d) (e d c d)) ((1/5 1/5 1/10) (1/8 1/16 1/16) (1/2) (1/8) (1/32 1/32 1/32 1/32)))
(multi-rnd-ornament 3 5
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
:pcnt 10 :to-pcnt 100)
->(((a -b a) (b) (c) (d) (e d e d)) ((1/5 1/5 1/10) (1/4) (1/2) (1/8) (1/32 1/32 1/32 1/32)))
(multi-rnd-ornament 3 5
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
:step '(3 1 5) :step-type 'change :rnd-type 'gauss)
->(((a -d -c) (b -c -b) (c -b) (d a) (e b c f)) ((1/5 1/5 1/10) (1/8 1/16 1/16) (3/10 1/5) (3/32 1/32) (1/32 1/32 1/32 1/32)))
min and max can also be lists of integers.
(multi-rnd-ornament '(3 4) '(5 8 9)
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e) :seed 0.1
:type 'odds :pcnt 100 :rnd-type 'gauss :step '(3 1 5)
:step-type 'change :to-pcnt 20)
->(((a -d -c) (b -c -b) (c f) (d) (e b a d e)) ((1/5 1/5 1/10) (1/10 1/20 1/10) (5/16 3/16) (1/8) (1/28 1/56 1/56 1/28 1/56)))
with step you can change from default 1 which ornaments
only 1 semitone at the time to 3 or 4 for arpeggio-effects
or use a list of step-values to vary.
(car (multi-rnd-ornament 5 11
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e)
:seed 0.1 :step '(1 8)))
->((a -b a -b) (b a b) (c b) (d c) (e d e d e))
(car (multi-rnd-ornament 5 11
'(1/2 1/4 1/2 1/8 1/8) '(a b c d e)
:seed 0.1 :step '(1 8) :type 'rnd))
->((a b c d) (b c c) (c d) (d e) (e e f g h))